How Oss-Fuzz Works: A Guide To Fuzz Testing For Open Source Projects